//-----------------------------------------------------------------------------
#ifndef __GPIO_H
#define __GPIO_H

#include "ht32.h"

//-----------------------------------------------------------------------------


//-----------------------------------------------------------------------------
#define OUT_PA0_PORT           A
#define OUT_PA0_PIN            0
#define OUT_PA0_GPIO_CLK      STRCAT2(P,          OUT_PA0_PORT)
#define OUT_PA0_GPIO_ID       STRCAT2(GPIO_P,     OUT_PA0_PORT)
#define OUT_PA0_GPIO_PORT     STRCAT2(HT_GPIO,    OUT_PA0_PORT)
#define OUT_PA0_GPIO_PIN      STRCAT2(GPIO_PIN_,  OUT_PA0_PIN)
#define OUT_PA0_AFIO_MODE     (AFIO_MODE_GPIO)
#define OUT_PA0_HIGH          OUT_PA0_GPIO_PORT->SRR    = OUT_PA0_GPIO_PIN
#define OUT_PA0_LOW           OUT_PA0_GPIO_PORT->RR     = OUT_PA0_GPIO_PIN
#define OUT_PA0_XOR           OUT_PA0_GPIO_PORT->DOUTR ^= OUT_PA0_GPIO_PIN

#define OUT_PA1_PORT           A
#define OUT_PA1_PIN            1
#define OUT_PA1_GPIO_CLK      STRCAT2(P,          OUT_PA1_PORT)
#define OUT_PA1_GPIO_ID       STRCAT2(GPIO_P,     OUT_PA1_PORT)
#define OUT_PA1_GPIO_PORT     STRCAT2(HT_GPIO,    OUT_PA1_PORT)
#define OUT_PA1_GPIO_PIN      STRCAT2(GPIO_PIN_,  OUT_PA1_PIN)
#define OUT_PA1_AFIO_MODE     (AFIO_MODE_GPIO)
#define OUT_PA1_HIGH          OUT_PA1_GPIO_PORT->SRR    = OUT_PA1_GPIO_PIN
#define OUT_PA1_LOW           OUT_PA1_GPIO_PORT->RR     = OUT_PA1_GPIO_PIN
#define OUT_PA1_XOR           OUT_PA1_GPIO_PORT->DOUTR ^= OUT_PA1_GPIO_PIN

#define OUT_PC15_PORT           C
#define OUT_PC15_PIN            15
#define OUT_PC15_GPIO_CLK      STRCAT2(P,          OUT_PC15_PORT)
#define OUT_PC15_GPIO_ID       STRCAT2(GPIO_P,     OUT_PC15_PORT)
#define OUT_PC15_GPIO_PORT     STRCAT2(HT_GPIO,    OUT_PC15_PORT)
#define OUT_PC15_GPIO_PIN      STRCAT2(GPIO_PIN_,  OUT_PC15_PIN)
#define OUT_PC15_AFIO_MODE     (AFIO_MODE_GPIO)
#define OUT_PC15_HIGH          OUT_PC15_GPIO_PORT->SRR    = OUT_PC15_GPIO_PIN
#define OUT_PC15_LOW           OUT_PC15_GPIO_PORT->RR     = OUT_PC15_GPIO_PIN
#define OUT_PC15_XOR           OUT_PC15_GPIO_PORT->DOUTR ^= OUT_PC15_GPIO_PIN



//-----------------------------------------------------------------------------
void GPIO_Configuration(void);

#endif

